home *** CD-ROM | disk | FTP | other *** search
/ L' Effet Pommier 3 / L'Effet Pommier - Volume 03.iso / Programmation / gray image 2.1 / x11wd.h < prev   
Text File  |  1995-05-03  |  2KB  |  70 lines

  1. /* x11wd.h - the following defs are taken from various X.V11R2 header files
  2. */
  3.  
  4. #ifndef _X11WD_H_
  5. #define _X11WD_H_
  6.  
  7. class EndianIn;            // Opaque i/o classes
  8. class EndianOut;
  9.  
  10. #define LSBFirst    0
  11. #define MSBFirst    1
  12.  
  13. #define XYBitmap    0
  14. #define XYPixmap    1
  15. #define ZPixmap        2
  16.  
  17. #define StaticGray    0
  18. #define GrayScale    1
  19. #define StaticColor    2
  20. #define PseudoColor    3
  21. #define TrueColor    4
  22. #define DirectColor    5
  23.  
  24. typedef unsigned long xwdval;
  25. #define X11WD_FILE_VERSION 7
  26. typedef struct {
  27.     xwdval header_size;        /* Size of the entire file header (bytes). */
  28.     xwdval file_version;    /* X11WD_FILE_VERSION */
  29.     xwdval pixmap_format;    /* Pixmap format */
  30.     xwdval pixmap_depth;    /* Pixmap depth */
  31.     xwdval pixmap_width;    /* Pixmap width */
  32.     xwdval pixmap_height;    /* Pixmap height */
  33.     xwdval xoffset;        /* Bitmap x offset */
  34.     xwdval xbyte_order;        /* MSBFirst, LSBFirst */
  35.     xwdval bitmap_unit;        /* Bitmap unit */
  36.     xwdval bitmap_bit_order;    /* MSBFirst, LSBFirst */
  37.     xwdval bitmap_pad;        /* Bitmap scanline pad */
  38.     xwdval bits_per_pixel;    /* Bits per pixel */
  39.     xwdval bytes_per_line;    /* Bytes per scanline */
  40.     xwdval visual_class;    /* Class of colormap */
  41.     xwdval red_mask;        /* Z red mask */
  42.     xwdval green_mask;        /* Z green mask */
  43.     xwdval blue_mask;        /* Z blue mask */
  44.     xwdval bits_per_rgb;    /* Log base 2 of distinct color values */
  45.     xwdval colormap_entries;    /* Number of entries in colormap */
  46.     xwdval ncolors;        /* Number of Color structures */
  47.     xwdval window_width;    /* Window width */
  48.     xwdval window_height;    /* Window height */
  49.     long window_x;        /* Window upper left X coordinate */
  50.     long window_y;        /* Window upper left Y coordinate */
  51.     xwdval window_bdrwidth;    /* Window border width */
  52.     } X11WDFileHeader;
  53.  
  54. class X11XColor
  55. {
  56.   unsigned long pixel;
  57.   unsigned short red, green, blue;
  58.   char flags;            /* do_red, do_green, do_blue */
  59.   char pad;
  60.  
  61. public:
  62.   X11XColor(const unsigned long _pixel, const unsigned short _grayshade)
  63.     : pixel(_pixel), red(_grayshade), green(_grayshade), blue(_grayshade),
  64.       flags(7), pad(0) {}
  65.   void write(EndianOut& outs) const;
  66.   static void write_gray_colormap(EndianOut& outs, const int ncolors);
  67. };
  68.  
  69. #endif /*_X11WD_H_*/
  70.